package pers.cj.pdos.entity;

import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 包含基本信息设置、常用设置、税率设置、移动支付设置（微信和支付宝）
 * </p>
 *
 * @author chenj
 * @since 2020-03-03
 */
public class BusinessSet extends Model<BusinessSet> {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 所属公司表id
     */
    private String companyId;

    /**
     * 销售单行折扣开关
     */
    private Boolean discount;

    /**
     * 是否允许负库存销售/调拨
     */
    private Boolean negative;

    /**
     * 商品序列号
     */
    private Boolean serial;

    /**
     * 销售时自动补齐实收金额
     */
    private Boolean saleMakeUp;

    /**
     * 进货时自动补齐实付金额
     */
    private Boolean inMakeUp;

    /**
     * 启用核销功能
     */
    private Boolean writeOff;

    /**
     * 销售启用多仓
     */
    private Boolean moreHouse;

    /**
     * 1-抹掉零头到分
            2-抹掉零头到角
            3-抹掉零头到元
            4-不抹零
     */
    private Integer oddFlag;

    /**
     * 价格小数位数设置
     */
    private Integer pricePoint;

    /**
     * 数量小数位数设置
     */
    private Integer numPoint;

    /**
     * 快速打印
     */
    private Boolean quickPrint;

    /**
     * 启用进货税率支持
     */
    private Boolean inTaxRateFlag;

    /**
     * 进货税率
     */
    private BigDecimal inTaxRate;

    /**
     * 启用销售税率支持
     */
    private Boolean saleTaxRateFlag;

    /**
     * 销售税率
     */
    private BigDecimal saleTaxRate;

    /**
     * 出入库管理
     */
    private Boolean houseInOut;

    private Date time;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    public String getCompanyId() {
        return companyId;
    }

    public void setCompanyId(String companyId) {
        this.companyId = companyId;
    }
    public Boolean getDiscount() {
        return discount;
    }

    public void setDiscount(Boolean discount) {
        this.discount = discount;
    }
    public Boolean getNegative() {
        return negative;
    }

    public void setNegative(Boolean negative) {
        this.negative = negative;
    }
    public Boolean getSerial() {
        return serial;
    }

    public void setSerial(Boolean serial) {
        this.serial = serial;
    }
    public Boolean getSaleMakeUp() {
        return saleMakeUp;
    }

    public void setSaleMakeUp(Boolean saleMakeUp) {
        this.saleMakeUp = saleMakeUp;
    }
    public Boolean getInMakeUp() {
        return inMakeUp;
    }

    public void setInMakeUp(Boolean inMakeUp) {
        this.inMakeUp = inMakeUp;
    }
    public Boolean getWriteOff() {
        return writeOff;
    }

    public void setWriteOff(Boolean writeOff) {
        this.writeOff = writeOff;
    }
    public Boolean getMoreHouse() {
        return moreHouse;
    }

    public void setMoreHouse(Boolean moreHouse) {
        this.moreHouse = moreHouse;
    }
    public Integer getOddFlag() {
        return oddFlag;
    }

    public void setOddFlag(Integer oddFlag) {
        this.oddFlag = oddFlag;
    }
    public Integer getPricePoint() {
        return pricePoint;
    }

    public void setPricePoint(Integer pricePoint) {
        this.pricePoint = pricePoint;
    }
    public Integer getNumPoint() {
        return numPoint;
    }

    public void setNumPoint(Integer numPoint) {
        this.numPoint = numPoint;
    }
    public Boolean getQuickPrint() {
        return quickPrint;
    }

    public void setQuickPrint(Boolean quickPrint) {
        this.quickPrint = quickPrint;
    }
    public Boolean getInTaxRateFlag() {
        return inTaxRateFlag;
    }

    public void setInTaxRateFlag(Boolean inTaxRateFlag) {
        this.inTaxRateFlag = inTaxRateFlag;
    }
    public BigDecimal getInTaxRate() {
        return inTaxRate;
    }

    public void setInTaxRate(BigDecimal inTaxRate) {
        this.inTaxRate = inTaxRate;
    }
    public Boolean getSaleTaxRateFlag() {
        return saleTaxRateFlag;
    }

    public void setSaleTaxRateFlag(Boolean saleTaxRateFlag) {
        this.saleTaxRateFlag = saleTaxRateFlag;
    }
    public BigDecimal getSaleTaxRate() {
        return saleTaxRate;
    }

    public void setSaleTaxRate(BigDecimal saleTaxRate) {
        this.saleTaxRate = saleTaxRate;
    }
    public Boolean getHouseInOut() {
        return houseInOut;
    }

    public void setHouseInOut(Boolean houseInOut) {
        this.houseInOut = houseInOut;
    }
    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

    @Override
    public String toString() {
        return "BusinessSet{" +
            "id=" + id +
            ", companyId=" + companyId +
            ", discount=" + discount +
            ", negative=" + negative +
            ", serial=" + serial +
            ", saleMakeUp=" + saleMakeUp +
            ", inMakeUp=" + inMakeUp +
            ", writeOff=" + writeOff +
            ", moreHouse=" + moreHouse +
            ", oddFlag=" + oddFlag +
            ", pricePoint=" + pricePoint +
            ", numPoint=" + numPoint +
            ", quickPrint=" + quickPrint +
            ", inTaxRateFlag=" + inTaxRateFlag +
            ", inTaxRate=" + inTaxRate +
            ", saleTaxRateFlag=" + saleTaxRateFlag +
            ", saleTaxRate=" + saleTaxRate +
            ", houseInOut=" + houseInOut +
            ", time=" + time +
        "}";
    }
}
